﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tibet.Datos;
using Tibet.Datos.FabricaDatos;
using Tibet.Datos.Interfaces;
using Tibet.Entidades;

namespace Tibet.Logica
{
    /// <summary>
    /// Summary description for ReporteEstadoProyecto
    /// </summary>
    public class ReporteEstadoProyecto : Reporte
    {
        private int TotalCulminados;
        private int TotalActivos;
        private List<string> NombrePoryCul;
        private List<string> NombrePoryAct;

        public ReporteEstadoProyecto(String Nombre)
        {
            this.Nombre = Nombre;
            CargarDatos();
        }

        override public String Graficar()
        {
            String respuesta;
            respuesta = "<h3>Activos:</h3><ul>";
            foreach (string a in this.NombrePoryAct)
            {
                respuesta = respuesta + "<li>" + a + "</li>";
            }
            respuesta = respuesta + "</ul>";
            respuesta = respuesta + "<h3>Culminados:</h3><ul>";
            foreach (string a in this.NombrePoryCul)
            {
                respuesta = respuesta + "<li>" + a + "</li>";
            }
            respuesta = respuesta + "</ul>";
            return respuesta;
        }

        override public void CargarDatos()
        {
            this.NombrePoryAct = new List<string>();
            this.NombrePoryCul = new List<string>();
            FabricaDao FNuevo = FabricaDao.ObtenerFabricaDeDao(1);
            IDaoAccesoReporte miBd = FNuevo.ObtenerDaoSqlServerReporte();
            foreach (ErrorP a in miBd.ConsultarProyectosEnCurso())
            {
                this.TotalActivos++;
                this.NombrePoryAct.Add(a.NProyecto);
            }
            foreach (Tibet.Entidades.Proyecto a in miBd.ConsultarTodosProyectosCulminados())
            {
                this.TotalCulminados++;
                this.NombrePoryCul.Add(a.Nombre);
            }

        }

        override public String MostrarDatos()
        {
            return "<p><h3> Total de Proyectos </h3></p>" +
                   "<p><b>En Curso:</b>"+TotalActivos+"<br>" +
                   "<b>Culminados:</b>"+TotalCulminados+"<br>" +
                   "</p>";
        }
    }
}
